import base from './base'

export default {


    /**
     * @func 监听页面返回事件
     * 
     */
    onHistoryBack: function () {
        wx.onHistoryBack(function () {
            return confirm('确定要放弃当前页面的修改？')
        });
    },


    /**
     * @func 隐藏右上角菜单接口
     * 
     */
    hideOptionMenu: function () {
        wx.hideOptionMenu();
    },


    /**
     * @func 显示右上角菜单接口
     * 
     */
    showOptionMenu: function () {
        wx.showOptionMenu();
    },


    /**
     * @func 关闭当前网页窗口接口
     * 
     */
    closeWindow: function () {
        wx.closeWindow();
    },



    /**
     * @func 批量隐藏功能按钮接口
     * @param {Object} query 请求参数
     * @param {array} menuList 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
     * 
     */
    hideMenuItems: function (query) {
        wx.hideMenuItems({
            menuList: query && query.menuList ? query.menuList : []
        });
    },



    /**
     * @func 批量显示功能按钮接口
     * @param {Object} query 请求参数
     * @param {array} menuList 要显示的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
     * 
     */
    showMenuItems: function (query) {
        wx.showMenuItems({
            menuList: query && query.menuList ? query.menuList : []
        });
    },



    /**
     * @func 隐藏所有非基础按钮接口
     * 
     */
    hideAllNonBaseMenuItem: function () {
        wx.hideAllNonBaseMenuItem();
    },



    /**
     * @func 显示所有功能按钮接口
     * 
     */
    showAllNonBaseMenuItem: function () {
        wx.showAllNonBaseMenuItem();
    },



    /**
     * @func 用户截屏事件
     * @param {Promise} 返回一个Promise
     * 
     */
    onUserCaptureScreen: function () {
        return new Promise(async (resolve, reject) => {
            wx.onUserCaptureScreen(function (res) {
                resolve("用户截屏了")
                console.log('用户截屏了')
            })
        })
    },


    /**
     * @func 新窗口打开url
     * @param {Object} query 请求参数
     * @param {number} type 0或不填表示使用内部浏览器新窗口打开，1表示用系统浏览器打开 
     * @param {string} url url地址 
     * @returns {Promise} 返回一个Promise
     */
    openUrl: function (query) {
        return new Promise(async (resolve, reject) => {
            base.agentConfig().then(() => {
                wx.invoke('openUrl', {
                    "type": query && query.type ? query.type : 0,
                    "url": query && query.url ? query.url : '',
                }, (res) => {
                    resolve(res);
                    console.log("新窗口打开url----", res);
                });

            });

        })
    },



    /**
     * @func 修改状态栏颜色
     * @param {Object} query 请求参数
     * @param {string} navbar_color ="EECCDD" 导航栏和状态栏背景颜色 
     * @param {number} status_type =2  1 颜色显示为白色，2 颜色显示为黑色 (状态信号栏文字和navi标题字体颜色)  
     * @returns {Promise} 返回一个Promise
     */
    changeNaviColor: function (query) {
        return new Promise(async (resolve, reject) => {
            base.agentConfig().then(() => {
                wx.invoke('changeNaviColor', {
                    "navbar_color": query && query.navbar_color ? query.navbar_color : "#EECCDD",
                    "status_type": query && query.status_type ? query.status_type : 2,
                }, (res) => {
                    resolve(res);
                    console.log("修改状态栏颜色----", res);
                });
            });
        })
    },

}